/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

import Controlador.IasignarTrabajo;
import Controlador.Construccion;
import Vista.Grafico;
import java.awt.Image;
import java.awt.MediaTracker;
import java.io.*;
/**
 *
 * @author VIC
 */


public abstract class Militar extends Construccion implements IasignarTrabajo,Serializable {

	private int estado;
	protected int tiempoInicio;
        private int duracion;
        public static Image imagen;
        
        public static void cargar(){
            MediaTracker mt = new MediaTracker( Grafico.applet ) ;
            imagen=Grafico.applet.getImage(Grafico.applet.getCodeBase(),"Imagenes\\Militar.png");
            mt.addImage(imagen,0);
            try {
                mt.waitForAll();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            Cuartel.cargar();
            Astillero.cargar();
            Hangar.cargar();
        }
        public abstract char getSimbolo();
        public abstract Image getImagen();
        public abstract int getLongx();
        public abstract int getLongy();

	public Militar(){
		estado = -1;
		tiempoInicio = 0;
	}

	public abstract void mostrar();
        public int getDuracion(){
            return duracion;
        }
        public void setDuracion(int duracion){
            this.duracion=duracion;
        }

	

	public int getEstado(){
          //  System.out.println("ESTADO GET"+ estado);
            return estado;}
	public int getTiempoInicial(){return tiempoInicio;}
	public void setEstado(int i){
          //  System.out.println("ESTADO SET"+ i);
            estado = i;}
	public void setTiempoInicio(int i){tiempoInicio = i;}
         static public void mostrarMilitar(){
            System.out.println("[1] Cuartel: oro = " + Cuartel.precio[0] + "  plata = " + Cuartel.precio[1] + "  madera = " + Cuartel.precio[2] + "  petroleo = " + Cuartel.precio[3]+ " Nivel requerido "+Cuartel.nivelRequerido);
            System.out.println("[2] Astillero: oro = " + Astillero.precio[0] + "  plata = " + Astillero.precio[1] + "  madera = " + Astillero.precio[2] + "  petroleo = " + Astillero.precio[3]+ " Nivel requerido "+Astillero.nivelRequerido);
            System.out.println("[3] Hangar: oro = " + Hangar.precio[0] + "  plata = " + Hangar.precio[1] + "  madera = " + Hangar.precio[2] + "  petroleo = " + Hangar.precio[3]+ " Nivel requerido "+Hangar.nivelRequerido);
        }
        public abstract UnidadMilitar recolectarUnidad();
}


